Mobile devices such as cellular telephones, Personal Digital Assistants (PDAs) and other wireless communication devices store contact lists utilized by users of such devices. Contact lists such as phone or address books allow users to store and dial numbers in a convenient manner. Many of these devices also allow for calendaring functionality such as through an electronic calendar or task list. Traditionally, contact lists and calendars are stored on the device itself.
Storing contact information on a handset works well if the user only has one device. Many users of mobile technology, however, subscribe to and use multiple devices. Also, groups of users, such as families and business associates share mobile services using multiple devices. Many times, a user or group of users may want to share and have access to contact and calendar information that is stored on a particular device. One solution is to store such information at a central location, such as a network server, so that users can obtain access to this information from any number of devices and not just the device where the information is stored. Unfortunately, if a user wants to place a call to a contact that is stored on the network server, the user must perform multiple steps, such as typing the number or downloading the number and looking up the number on the device, before eventually placing the call from the handset.
Mobile technology also allows for users to provide location information to the network. For example, E911 services require knowing the location of the mobile unit when a 911 call is placed to the network. Further, commercial applications such as mapping and phone book programs exist that allow users to obtain location and contact information for a variety of goods and services using the Internet or other public networks. Unfortunately, integrating a calendar and location information of the handset and third-parties with a contact list and placing calls from a handset utilizing this information, however, requires accessing multiple applications and performing multiple steps before placing the call.